home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2008 April / MAC_easy_04_2008.iso / Highlights / Fonelink / launch2net.dmg / Doubleclick to uninstall launch2net.app / Contents / Resources / NMOSXDockHelper.rb < prev    next >
MacBinary  |  2008-08-14  |  5.4 KB  |  [□□□□/□□□□]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Rocket eBook (document/rocketeBook) ext Supported
1% dexvert MacBinary (archive/macBinary) fallback Supported
100% file MacBinary II, Thu Aug 14 09:14:38 2008, modified Thu Aug 14 09:14:38 2008, 4929 bytes "NMOSXDockHelper.rb" default (weak)
99% file a /usr/bin/ruby script executable (binary data), at 0x13c1 286 bytes resource default (weak)
98% file a /usr/bin/ruby script executable (binary data) default (weak)
97% file data default
100% TrID MacBinary 2 default (weak)
100% dearkID deark: macbinary default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[□□□□]
macFileCreator[□□□□]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 12 4e 4d 4f 53 58 44 | 6f 63 6b 48 65 6c 70 65 |..NMOSXD|ockHelpe|
|00000010| 72 2e 72 62 00 00 00 00 | 00 00 00 00 00 00 00 00 |r.rb....|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000050| 00 00 00 00 00 13 41 00 | 00 01 1e c4 c9 e0 3e c4 |......A.|......>.|
|00000060| c9 e0 3e 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |..>.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 dd 8c 00 00 |........|........|
|00000080| 23 21 2f 75 73 72 2f 62 | 69 6e 2f 72 75 62 79 0a |#!/usr/b|in/ruby.|
|00000090| 23 0a 23 20 20 4e 4d 4f | 53 58 44 6f 63 6b 48 65 |#.# NMO|SXDockHe|
|000000a0| 6c 70 65 72 2e 72 62 0a | 23 20 20 44 65 69 6e 73 |lper.rb.|# Deins|
|000000b0| 74 61 6c 6c 0a 23 0a 23 | 20 20 43 72 65 61 74 65 |tall.#.#| Create|
|000000c0| 64 20 62 79 20 41 6e 64 | 72 65 69 20 59 75 64 69 |d by And|rei Yudi|
|000000d0| 6e 20 6f 6e 20 31 38 2e | 30 36 2e 30 37 2e 0a 23 |n on 18.|06.07..#|
|000000e0| 20 20 43 6f 70 79 72 69 | 67 68 74 20 28 63 29 20 | Copyri|ght (c) |
|000000f0| 32 30 30 37 20 6e 6f 76 | 61 20 6d 65 64 69 61 20 |2007 nov|a media |
|00000100| 4d 44 53 20 47 6d 62 48 | 2e 20 41 6c 6c 20 72 69 |MDS GmbH|. All ri|
|00000110| 67 68 74 73 20 72 65 73 | 65 72 76 65 64 2e 0a 23 |ghts res|erved..#|
|00000120| 0a 0a 72 65 71 75 69 72 | 65 20 27 6f 73 78 2f 63 |..requir|e 'osx/c|
|00000130| 6f 63 6f 61 27 0a 72 65 | 71 75 69 72 65 20 27 65 |ocoa'.re|quire 'e|
|00000140| 74 63 27 0a 0a 54 49 4c | 45 5f 54 59 50 45 5f 4b |tc'..TIL|E_TYPE_K|
|00000150| 45 59 20 3d 20 22 74 69 | 6c 65 2d 74 79 70 65 22 |EY = "ti|le-type"|
|00000160| 0a 54 49 4c 45 5f 44 45 | 46 5f 56 41 4c 55 45 20 |.TILE_DE|F_VALUE |
|00000170| 3d 20 22 66 69 6c 65 2d | 74 69 6c 65 22 0a 54 49 |= "file-|tile".TI|
|00000180| 4c 45 5f 44 41 54 41 5f | 4b 45 59 20 3d 20 22 74 |LE_DATA_|KEY = "t|
|00000190| 69 6c 65 2d 64 61 74 61 | 22 0a 0a 46 49 4c 45 5f |ile-data|"..FILE_|
|000001a0| 44 41 54 41 5f 4b 45 59 | 20 3d 20 22 66 69 6c 65 |DATA_KEY| = "file|
|000001b0| 2d 64 61 74 61 22 0a 46 | 49 4c 45 5f 4c 41 42 45 |-data".F|ILE_LABE|
|000001c0| 4c 5f 4b 45 59 20 3d 20 | 22 66 69 6c 65 2d 6c 61 |L_KEY = |"file-la|
|000001d0| 62 65 6c 22 0a 46 49 4c | 45 5f 54 59 50 45 5f 4b |bel".FIL|E_TYPE_K|
|000001e0| 45 59 20 3d 20 22 66 69 | 6c 65 2d 74 79 70 65 22 |EY = "fi|le-type"|
|000001f0| 0a 0a 46 49 4c 45 5f 54 | 59 50 45 5f 44 45 46 5f |..FILE_T|YPE_DEF_|
|00000200| 56 41 4c 55 45 20 3d 20 | 34 31 0a 0a 43 46 5f 55 |VALUE = |41..CF_U|
|00000210| 52 4c 5f 53 54 52 5f 4b | 45 59 20 3d 20 22 5f 43 |RL_STR_K|EY = "_C|
|00000220| 46 55 52 4c 53 74 72 69 | 6e 67 22 0a 43 46 5f 55 |FURLStri|ng".CF_U|
|00000230| 52 4c 5f 53 54 52 5f 54 | 59 50 45 5f 4b 45 59 20 |RL_STR_T|YPE_KEY |
|00000240| 3d 20 22 5f 43 46 55 52 | 4c 53 74 72 69 6e 67 54 |= "_CFUR|LStringT|
|00000250| 79 70 65 22 0a 43 46 5f | 55 52 4c 5f 53 54 52 5f |ype".CF_|URL_STR_|
|00000260| 54 59 50 45 5f 56 41 4c | 55 45 20 3d 20 30 0a 0a |TYPE_VAL|UE = 0..|
|00000270| 4f 53 58 5f 44 4f 43 4b | 5f 50 52 45 46 45 52 45 |OSX_DOCK|_PREFERE|
|00000280| 4e 43 45 53 5f 46 49 4c | 45 20 3d 20 22 63 6f 6d |NCES_FIL|E = "com|
|00000290| 2e 61 70 70 6c 65 2e 64 | 6f 63 6b 2e 70 6c 69 73 |.apple.d|ock.plis|
|000002a0| 74 22 0a 0a 4f 53 58 5f | 44 4f 43 4b 5f 41 50 50 |t"..OSX_|DOCK_APP|
|000002b0| 5f 41 52 52 41 59 20 3d | 20 22 70 65 72 73 69 73 |_ARRAY =| "persis|
|000002c0| 74 65 6e 74 2d 61 70 70 | 73 22 0a 0a 63 6c 61 73 |tent-app|s"..clas|
|000002d0| 73 20 4e 4d 4f 53 58 44 | 6f 63 6b 48 65 6c 70 65 |s NMOSXD|ockHelpe|
|000002e0| 72 0a 0a 09 61 74 74 72 | 5f 72 65 61 64 65 72 20 |r...attr|_reader |
|000002f0| 3a 61 70 70 50 61 74 68 | 0a 0a 09 64 65 66 20 69 |:appPath|...def i|
|00000300| 6e 69 74 69 61 6c 69 7a | 65 28 61 70 70 50 61 74 |nitializ|e(appPat|
|00000310| 68 29 0a 09 09 40 61 70 | 70 50 61 74 68 20 3d 20 |h)...@ap|pPath = |
|00000320| 61 70 70 50 61 74 68 0a | 09 09 0a 09 09 23 20 57 |appPath.|.....# W|
|00000330| 65 20 73 68 6f 75 6c 64 | 20 63 68 65 63 6b 20 69 |e should| check i|
|00000340| 66 20 61 70 70 6c 69 63 | 61 74 69 6f 6e 20 65 78 |f applic|ation ex|
|00000350| 69 73 74 73 0a 09 09 66 | 61 69 6c 20 22 41 70 70 |ists...f|ail "App|
|00000360| 6c 69 63 61 74 69 6f 6e | 20 64 6f 65 73 20 6e 6f |lication| does no|
|00000370| 74 20 65 78 69 73 74 73 | 22 20 75 6e 6c 65 73 73 |t exists|" unless|
|00000380| 20 46 69 6c 65 2e 65 78 | 69 73 74 73 3f 28 40 61 | File.ex|ists?(@a|
|00000390| 70 70 50 61 74 68 29 0a | 09 09 0a 09 09 40 64 6f |ppPath).|.....@do|
|000003a0| 63 6b 50 72 65 66 73 50 | 61 74 68 20 3d 20 0a 09 |ckPrefsP|ath = ..|
|000003b0| 09 09 22 2f 55 73 65 72 | 73 2f 23 7b 45 74 63 2e |.."/User|s/#{Etc.|
|000003c0| 67 65 74 6c 6f 67 69 6e | 7d 2f 4c 69 62 72 61 72 |getlogin|}/Librar|
|000003d0| 79 2f 50 72 65 66 65 72 | 65 6e 63 65 73 2f 23 7b |y/Prefer|ences/#{|
|000003e0| 4f 53 58 5f 44 4f 43 4b | 5f 50 52 45 46 45 52 45 |OSX_DOCK|_PREFERE|
|000003f0| 4e 43 45 53 5f 46 49 4c | 45 7d 22 0a 09 09 0a 09 |NCES_FIL|E}".....|
|00000400| 09 23 20 52 65 61 64 20 | 4f 53 58 20 44 6f 63 6b |.# Read |OSX Dock|
|00000410| 20 70 72 65 66 65 72 65 | 6e 63 65 73 0a 09 09 40 | prefere|nces...@|
|00000420| 64 6f 63 6b 50 72 65 66 | 73 44 69 63 74 20 3d 20 |dockPref|sDict = |
|00000430| 4f 53 58 3a 3a 4e 53 4d | 75 74 61 62 6c 65 44 69 |OSX::NSM|utableDi|
|00000440| 63 74 69 6f 6e 61 72 79 | 2e 64 69 63 74 69 6f 6e |ctionary|.diction|
|00000450| 61 72 79 0a 09 09 40 64 | 6f 63 6b 50 72 65 66 73 |ary...@d|ockPrefs|
|00000460| 44 69 63 74 2e 61 64 64 | 45 6e 74 72 69 65 73 46 |Dict.add|EntriesF|
|00000470| 72 6f 6d 44 69 63 74 69 | 6f 6e 61 72 79 28 0a 09 |romDicti|onary(..|
|00000480| 09 09 09 09 09 09 4f 53 | 58 3a 3a 4e 53 44 69 63 |......OS|X::NSDic|
|00000490| 74 69 6f 6e 61 72 79 2e | 64 69 63 74 69 6f 6e 61 |tionary.|dictiona|
|000004a0| 72 79 57 69 74 68 43 6f | 6e 74 65 6e 74 73 4f 66 |ryWithCo|ntentsOf|
|000004b0| 46 69 6c 65 28 40 64 6f | 63 6b 50 72 65 66 73 50 |File(@do|ckPrefsP|
|000004c0| 61 74 68 29 29 0a 09 0a | 09 65 6e 64 0a 0a 09 64 |ath))...|.end...d|
|000004d0| 65 66 20 61 64 64 54 6f | 44 6f 63 6b 0a 09 0a 09 |ef addTo|Dock....|
|000004e0| 09 70 75 74 73 28 22 41 | 64 64 20 61 70 70 6c 69 |.puts("A|dd appli|
|000004f0| 63 61 74 69 6f 6e 20 5c | 22 23 7b 40 61 70 70 50 |cation \|"#{@appP|
|00000500| 61 74 68 7d 5c 22 20 74 | 6f 20 74 68 65 20 44 6f |ath}\" t|o the Do|
|00000510| 63 6b 22 29 0a 0a 09 09 | 23 20 49 66 20 61 70 70 |ck")....|# If app|
|00000520| 6c 69 63 61 74 69 6f 6e | 20 61 6c 72 65 61 64 79 |lication| already|
|00000530| 20 65 78 69 73 74 73 20 | 69 6e 20 64 6f 63 6b 20 | exists |in dock |
|00000540| 6a 75 73 74 20 66 69 6e | 69 73 68 0a 09 09 72 65 |just fin|ish...re|
|00000550| 74 75 72 6e 20 69 66 20 | 61 70 70 45 78 69 73 74 |turn if |appExist|
|00000560| 49 6e 44 6f 63 6b 3f 0a | 09 09 0a 09 09 23 20 43 |InDock?.|.....# C|
|00000570| 72 65 61 74 65 20 64 6f | 63 6b 20 65 6e 74 72 79 |reate do|ck entry|
|00000580| 20 66 6f 72 20 6f 75 72 | 20 61 70 70 6c 69 63 61 | for our| applica|
|00000590| 74 69 6f 6e 0a 09 09 64 | 6f 63 6b 45 6e 74 72 79 |tion...d|ockEntry|
|000005a0| 20 3d 20 63 72 65 61 74 | 65 44 6f 63 6b 45 6e 74 | = creat|eDockEnt|
|000005b0| 72 79 0a 09 09 09 09 0a | 09 09 23 20 41 64 64 20 |ry......|..# Add |
|000005c0| 61 70 70 6c 69 63 61 74 | 69 6f 6e 20 74 6f 20 74 |applicat|ion to t|
|000005d0| 68 65 20 44 6f 63 6b 20 | 70 6c 69 73 74 20 66 69 |he Dock |plist fi|
|000005e0| 6c 65 0a 09 09 0a 09 09 | 6e 65 77 44 6f 63 6b 41 |le......|newDockA|
|000005f0| 70 70 73 41 72 72 61 79 | 20 3d 20 4f 53 58 3a 3a |ppsArray| = OSX::|
|00000600| 4e 53 4d 75 74 61 62 6c | 65 41 72 72 61 79 2e 61 |NSMutabl|eArray.a|
|00000610| 72 72 61 79 0a 09 09 6e | 65 77 44 6f 63 6b 41 70 |rray...n|ewDockAp|
|00000620| 70 73 41 72 72 61 79 2e | 61 64 64 4f 62 6a 65 63 |psArray.|addObjec|
|00000630| 74 73 46 72 6f 6d 41 72 | 72 61 79 28 40 64 6f 63 |tsFromAr|ray(@doc|
|00000640| 6b 50 72 65 66 73 44 69 | 63 74 2e 76 61 6c 75 65 |kPrefsDi|ct.value|
|00000650| 46 6f 72 4b 65 79 28 4f | 53 58 5f 44 4f 43 4b 5f |ForKey(O|SX_DOCK_|
|00000660| 41 50 50 5f 41 52 52 41 | 59 29 29 0a 09 09 0a 09 |APP_ARRA|Y)).....|
|00000670| 09 23 20 41 64 64 20 6e | 65 77 20 61 70 70 20 65 |.# Add n|ew app e|
|00000680| 6e 74 72 79 20 74 6f 20 | 74 68 65 20 44 6f 63 6b |ntry to |the Dock|
|00000690| 0a 09 09 6e 65 77 44 6f | 63 6b 41 70 70 73 41 72 |...newDo|ckAppsAr|
|000006a0| 72 61 79 2e 61 64 64 4f | 62 6a 65 63 74 20 64 6f |ray.addO|bject do|
|000006b0| 63 6b 45 6e 74 72 79 0a | 09 09 0a 09 09 23 20 55 |ckEntry.|.....# U|
|000006c0| 70 64 61 74 65 20 44 6f | 63 6b 20 70 72 65 66 65 |pdate Do|ck prefe|
|000006d0| 72 65 6e 63 65 73 20 77 | 69 74 68 20 6e 65 77 20 |rences w|ith new |
|000006e0| 61 72 72 61 79 0a 09 09 | 40 64 6f 63 6b 50 72 65 |array...|@dockPre|
|000006f0| 66 73 44 69 63 74 2e 73 | 65 74 56 61 6c 75 65 5f |fsDict.s|etValue_|
|00000700| 66 6f 72 4b 65 79 28 6e | 65 77 44 6f 63 6b 41 70 |forKey(n|ewDockAp|
|00000710| 70 73 41 72 72 61 79 2c | 20 4f 53 58 5f 44 4f 43 |psArray,| OSX_DOC|
|00000720| 4b 5f 41 50 50 5f 41 52 | 52 41 59 29 0a 09 09 0a |K_APP_AR|RAY)....|
|00000730| 09 09 23 20 53 61 76 65 | 20 6e 65 77 20 70 72 65 |..# Save| new pre|
|00000740| 66 65 72 65 6e 63 65 73 | 20 64 69 63 74 69 6f 6e |ferences| diction|
|00000750| 61 72 79 20 62 61 63 6b | 20 74 6f 20 66 69 6c 65 |ary back| to file|
|00000760| 0a 09 09 40 64 6f 63 6b | 50 72 65 66 73 44 69 63 |...@dock|PrefsDic|
|00000770| 74 2e 77 72 69 74 65 54 | 6f 46 69 6c 65 5f 61 74 |t.writeT|oFile_at|
|00000780| 6f 6d 69 63 61 6c 6c 79 | 28 40 64 6f 63 6b 50 72 |omically|(@dockPr|
|00000790| 65 66 73 50 61 74 68 2c | 20 74 72 75 65 29 0a 09 |efsPath,| true)..|
|000007a0| 09 0a 09 09 72 65 73 65 | 74 44 6f 63 6b 41 70 70 |....rese|tDockApp|
|000007b0| 0a 09 65 6e 64 0a 0a 09 | 23 0a 09 23 20 47 65 74 |..end...|#..# Get|
|000007c0| 20 61 70 70 6c 69 63 61 | 74 69 6f 6e 20 6e 61 6d | applica|tion nam|
|000007d0| 65 0a 09 23 0a 09 64 65 | 66 20 61 70 70 4e 61 6d |e..#..de|f appNam|
|000007e0| 65 0a 09 0a 09 09 23 20 | 45 78 74 72 61 63 74 20 |e.....# |Extract |
|000007f0| 61 70 70 6c 69 63 61 74 | 69 6f 6e 20 66 69 6c 65 |applicat|ion file|
|00000800| 20 6e 61 6d 65 20 28 6c | 61 62 65 6c 29 0a 20 20 | name (l|abel). |
|00000810| 20 20 20 20 20 20 6e 73 | 41 70 70 4e 61 6d 65 53 | ns|AppNameS|
|00000820| 74 72 20 3d 20 4f 53 58 | 3a 3a 4e 53 53 74 72 69 |tr = OSX|::NSStri|
|00000830| 6e 67 2e 73 74 72 69 6e | 67 57 69 74 68 53 74 72 |ng.strin|gWithStr|
|00000840| 69 6e 67 28 40 61 70 70 | 50 61 74 68 29 0a 09 09 |ing(@app|Path)...|
|00000850| 0a 20 20 20 20 20 20 20 | 20 6e 73 41 70 70 4e 61 |. | nsAppNa|
|00000860| 6d 65 53 74 72 20 3d 20 | 6e 73 41 70 70 4e 61 6d |meStr = |nsAppNam|
|00000870| 65 53 74 72 2e 73 74 72 | 69 6e 67 42 79 44 65 6c |eStr.str|ingByDel|
|00000880| 65 74 69 6e 67 50 61 74 | 68 45 78 74 65 6e 73 69 |etingPat|hExtensi|
|00000890| 6f 6e 0a 09 09 6e 73 41 | 70 70 4e 61 6d 65 53 74 |on...nsA|ppNameSt|
|000008a0| 72 20 3d 20 6e 73 41 70 | 70 4e 61 6d 65 53 74 72 |r = nsAp|pNameStr|
|000008b0| 2e 6c 61 73 74 50 61 74 | 68 43 6f 6d 70 6f 6e 65 |.lastPat|hCompone|
|000008c0| 6e 74 0a 09 09 0a 09 65 | 6e 64 0a 20 0a 09 23 0a |nt.....e|nd. ..#.|
|000008d0| 09 23 20 43 72 65 61 74 | 65 20 44 6f 63 6b 20 65 |.# Creat|e Dock e|
|000008e0| 6e 74 72 79 20 64 69 63 | 74 69 6f 6e 61 72 79 20 |ntry dic|tionary |
|000008f0| 66 6f 72 20 6e 65 77 20 | 61 70 70 6c 69 63 61 74 |for new |applicat|
|00000900| 69 6f 6e 0a 09 23 0a 09 | 64 65 66 20 63 72 65 61 |ion..#..|def crea|
|00000910| 74 65 44 6f 63 6b 45 6e | 74 72 79 0a 09 0a 09 09 |teDockEn|try.....|
|00000920| 64 6f 63 6b 41 70 70 45 | 6e 74 72 79 20 3d 20 4f |dockAppE|ntry = O|
|00000930| 53 58 3a 3a 4e 53 4d 75 | 74 61 62 6c 65 44 69 63 |SX::NSMu|tableDic|
|00000940| 74 69 6f 6e 61 72 79 2e | 64 69 63 74 69 6f 6e 61 |tionary.|dictiona|
|00000950| 72 79 0a 09 09 64 6f 63 | 6b 41 70 70 45 6e 74 72 |ry...doc|kAppEntr|
|00000960| 79 2e 73 65 74 56 61 6c | 75 65 5f 66 6f 72 4b 65 |y.setVal|ue_forKe|
|00000970| 79 28 54 49 4c 45 5f 44 | 45 46 5f 56 41 4c 55 45 |y(TILE_D|EF_VALUE|
|00000980| 2c 20 54 49 4c 45 5f 54 | 59 50 45 5f 4b 45 59 29 |, TILE_T|YPE_KEY)|
|00000990| 0a 09 09 09 09 0a 09 09 | 23 20 43 72 65 61 74 65 |........|# Create|
|000009a0| 20 74 69 6c 65 20 64 61 | 74 61 20 64 69 63 74 69 | tile da|ta dicti|
|000009b0| 6f 6e 61 72 79 0a 09 09 | 74 69 6c 65 44 61 74 61 |onary...|tileData|
|000009c0| 44 69 63 74 20 3d 20 4f | 53 58 3a 3a 4e 53 4d 75 |Dict = O|SX::NSMu|
|000009d0| 74 61 62 6c 65 44 69 63 | 74 69 6f 6e 61 72 79 2e |tableDic|tionary.|
|000009e0| 64 69 63 74 69 6f 6e 61 | 72 79 0a 09 09 74 69 6c |dictiona|ry...til|
|000009f0| 65 44 61 74 61 44 69 63 | 74 2e 73 65 74 56 61 6c |eDataDic|t.setVal|
|00000a00| 75 65 5f 66 6f 72 4b 65 | 79 28 46 49 4c 45 5f 54 |ue_forKe|y(FILE_T|
|00000a10| 59 50 45 5f 44 45 46 5f | 56 41 4c 55 45 2c 20 46 |YPE_DEF_|VALUE, F|
|00000a20| 49 4c 45 5f 54 59 50 45 | 5f 4b 45 59 29 0a 09 09 |ILE_TYPE|_KEY)...|
|00000a30| 74 69 6c 65 44 61 74 61 | 44 69 63 74 2e 73 65 74 |tileData|Dict.set|
|00000a40| 56 61 6c 75 65 5f 66 6f | 72 4b 65 79 28 61 70 70 |Value_fo|rKey(app|
|00000a50| 4e 61 6d 65 2c 20 46 49 | 4c 45 5f 4c 41 42 45 4c |Name, FI|LE_LABEL|
|00000a60| 5f 4b 45 59 29 0a 09 09 | 0a 09 09 23 20 43 72 65 |_KEY)...|...# Cre|
|00000a70| 61 74 65 20 66 69 6c 65 | 20 64 61 74 61 20 64 69 |ate file| data di|
|00000a80| 63 74 69 6f 6e 61 72 79 | 0a 09 09 66 69 6c 65 44 |ctionary|...fileD|
|00000a90| 61 74 61 44 69 63 74 20 | 3d 20 4f 53 58 3a 3a 4e |ataDict |= OSX::N|
|00000aa0| 53 4d 75 74 61 62 6c 65 | 44 69 63 74 69 6f 6e 61 |SMutable|Dictiona|
|00000ab0| 72 79 2e 64 69 63 74 69 | 6f 6e 61 72 79 0a 09 09 |ry.dicti|onary...|
|00000ac0| 66 69 6c 65 44 61 74 61 | 44 69 63 74 2e 73 65 74 |fileData|Dict.set|
|00000ad0| 56 61 6c 75 65 5f 66 6f | 72 4b 65 79 28 43 46 5f |Value_fo|rKey(CF_|
|00000ae0| 55 52 4c 5f 53 54 52 5f | 54 59 50 45 5f 56 41 4c |URL_STR_|TYPE_VAL|
|00000af0| 55 45 2c 20 43 46 5f 55 | 52 4c 5f 53 54 52 5f 54 |UE, CF_U|RL_STR_T|
|00000b00| 59 50 45 5f 4b 45 59 29 | 0a 09 09 66 69 6c 65 44 |YPE_KEY)|...fileD|
|00000b10| 61 74 61 44 69 63 74 2e | 73 65 74 56 61 6c 75 65 |ataDict.|setValue|
|00000b20| 5f 66 6f 72 4b 65 79 28 | 61 70 70 50 61 74 68 2c |_forKey(|appPath,|
|00000b30| 20 43 46 5f 55 52 4c 5f | 53 54 52 5f 4b 45 59 29 | CF_URL_|STR_KEY)|
|00000b40| 0a 09 09 0a 09 09 23 20 | 53 65 74 75 70 20 66 69 |......# |Setup fi|
|00000b50| 6c 65 20 64 61 74 61 0a | 09 09 74 69 6c 65 44 61 |le data.|..tileDa|
|00000b60| 74 61 44 69 63 74 2e 73 | 65 74 56 61 6c 75 65 5f |taDict.s|etValue_|
|00000b70| 66 6f 72 4b 65 79 28 66 | 69 6c 65 44 61 74 61 44 |forKey(f|ileDataD|
|00000b80| 69 63 74 2c 20 46 49 4c | 45 5f 44 41 54 41 5f 4b |ict, FIL|E_DATA_K|
|00000b90| 45 59 29 0a 09 09 23 20 | 53 65 74 75 70 20 74 69 |EY)...# |Setup ti|
|00000ba0| 6c 65 20 64 61 74 61 0a | 09 09 64 6f 63 6b 41 70 |le data.|..dockAp|
|00000bb0| 70 45 6e 74 72 79 2e 73 | 65 74 56 61 6c 75 65 5f |pEntry.s|etValue_|
|00000bc0| 66 6f 72 4b 65 79 28 74 | 69 6c 65 44 61 74 61 44 |forKey(t|ileDataD|
|00000bd0| 69 63 74 2c 20 54 49 4c | 45 5f 44 41 54 41 5f 4b |ict, TIL|E_DATA_K|
|00000be0| 45 59 29 0a 09 09 0a 09 | 09 72 65 74 75 72 6e 20 |EY).....|.return |
|00000bf0| 64 6f 63 6b 41 70 70 45 | 6e 74 72 79 0a 09 65 6e |dockAppE|ntry..en|
|00000c00| 64 0a 0a 09 23 0a 09 23 | 20 51 75 65 72 79 2e 20 |d...#..#| Query. |
|00000c10| 52 65 74 75 72 6e 73 20 | 74 72 75 65 20 69 66 20 |Returns |true if |
|00000c20| 61 70 70 6c 69 63 61 74 | 69 6f 6e 20 61 6c 72 65 |applicat|ion alre|
|00000c30| 61 64 79 20 65 78 69 73 | 74 73 20 69 6e 20 44 6f |ady exis|ts in Do|
|00000c40| 63 6b 0a 09 23 20 6f 74 | 68 65 72 77 69 73 65 20 |ck..# ot|herwise |
|00000c50| 2d 20 66 61 6c 73 65 0a | 09 23 0a 09 64 65 66 20 |- false.|.#..def |
|00000c60| 61 70 70 45 78 69 73 74 | 49 6e 44 6f 63 6b 3f 20 |appExist|InDock? |
|00000c70| 0a 09 09 0a 09 09 61 70 | 70 4e 61 6d 65 54 65 6d |......ap|pNameTem|
|00000c80| 70 20 3d 20 61 70 70 4e | 61 6d 65 0a 09 09 6b 65 |p = appN|ame...ke|
|00000c90| 79 50 61 74 68 20 3d 20 | 54 49 4c 45 5f 44 41 54 |yPath = |TILE_DAT|
|00000ca0| 41 5f 4b 45 59 20 2b 20 | 22 2e 22 20 2b 20 46 49 |A_KEY + |"." + FI|
|00000cb0| 4c 45 5f 4c 41 42 45 4c | 5f 4b 45 59 0a 09 09 0a |LE_LABEL|_KEY....|
|00000cc0| 09 09 72 65 74 20 3d 20 | 66 69 6e 64 41 70 70 20 |..ret = |findApp |
|00000cd0| 7b 20 7c 61 70 70 7c 0a | 09 09 09 61 70 70 2e 76 |{ |app|.|...app.v|
|00000ce0| 61 6c 75 65 46 6f 72 4b | 65 79 50 61 74 68 28 6b |alueForK|eyPath(k|
|00000cf0| 65 79 50 61 74 68 29 20 | 3d 3d 20 61 70 70 4e 61 |eyPath) |== appNa|
|00000d00| 6d 65 54 65 6d 70 0a 09 | 09 7d 0a 09 09 0a 09 09 |meTemp..|.}......|
|00000d10| 69 66 20 72 65 74 20 74 | 68 65 6e 0a 09 09 09 70 |if ret t|hen....p|
|00000d20| 75 74 73 20 22 41 70 70 | 6c 69 63 61 74 69 6f 6e |uts "App|lication|
|00000d30| 20 23 7b 61 70 70 4e 61 | 6d 65 54 65 6d 70 7d 20 | #{appNa|meTemp} |
|00000d40| 61 6c 72 65 61 64 79 20 | 65 78 69 73 74 73 20 69 |already |exists i|
|00000d50| 6e 20 74 68 65 20 44 6f | 63 6b 22 0a 09 09 65 6c |n the Do|ck"...el|
|00000d60| 73 65 0a 09 09 09 70 75 | 74 73 20 22 41 70 70 6c |se....pu|ts "Appl|
|00000d70| 69 63 61 74 69 6f 6e 20 | 23 7b 61 70 70 4e 61 6d |ication |#{appNam|
|00000d80| 65 54 65 6d 70 7d 20 44 | 4f 45 53 20 4e 4f 54 20 |eTemp} D|OES NOT |
|00000d90| 65 78 69 73 74 73 20 69 | 6e 20 74 68 65 20 44 6f |exists i|n the Do|
|00000da0| 63 6b 22 0a 09 09 65 6e | 64 0a 09 09 0a 09 09 72 |ck"...en|d......r|
|00000db0| 65 74 0a 09 65 6e 64 20 | 0a 0a 09 23 0a 09 23 20 |et..end |...#..# |
|00000dc0| 54 72 79 20 74 6f 20 66 | 69 6e 64 20 61 70 70 20 |Try to f|ind app |
|00000dd0| 65 6e 74 72 79 20 69 6e | 20 44 6f 63 6b 0a 09 23 |entry in| Dock..#|
|00000de0| 0a 09 64 65 66 20 66 69 | 6e 64 41 70 70 0a 09 09 |..def fi|ndApp...|
|00000df0| 23 20 47 65 74 20 61 72 | 72 61 79 20 6f 66 20 64 |# Get ar|ray of d|
|00000e00| 6f 63 6b 20 61 70 70 6c | 69 63 61 74 69 6f 6e 73 |ock appl|ications|
|00000e10| 0a 09 09 61 70 70 45 6e | 75 6d 20 3d 20 40 64 6f |...appEn|um = @do|
|00000e20| 63 6b 50 72 65 66 73 44 | 69 63 74 2e 76 61 6c 75 |ckPrefsD|ict.valu|
|00000e30| 65 46 6f 72 4b 65 79 28 | 4f 53 58 5f 44 4f 43 4b |eForKey(|OSX_DOCK|
|00000e40| 5f 41 50 50 5f 41 52 52 | 41 59 29 2e 6f 62 6a 65 |_APP_ARR|AY).obje|
|00000e50| 63 74 45 6e 75 6d 65 72 | 61 74 6f 72 0a 09 09 77 |ctEnumer|ator...w|
|00000e60| 68 69 6c 65 20 63 75 72 | 72 41 70 70 20 3d 20 61 |hile cur|rApp = a|
|00000e70| 70 70 45 6e 75 6d 2e 6e | 65 78 74 4f 62 6a 65 63 |ppEnum.n|extObjec|
|00000e80| 74 0a 09 09 09 20 72 65 | 74 75 72 6e 20 63 75 72 |t.... re|turn cur|
|00000e90| 72 41 70 70 20 69 66 20 | 79 69 65 6c 64 28 63 75 |rApp if |yield(cu|
|00000ea0| 72 72 41 70 70 29 0a 09 | 09 65 6e 64 0a 09 09 72 |rrApp)..|.end...r|
|00000eb0| 65 74 75 72 6e 20 6e 69 | 6c 0a 09 65 6e 64 0a 0a |eturn ni|l..end..|
|00000ec0| 09 23 0a 09 23 20 52 65 | 73 65 74 20 64 6f 63 6b |.#..# Re|set dock|
|00000ed0| 20 61 70 70 6c 69 63 61 | 74 69 6f 6e 0a 09 23 0a | applica|tion..#.|
|00000ee0| 09 64 65 66 20 72 65 73 | 65 74 44 6f 63 6b 41 70 |.def res|etDockAp|
|00000ef0| 70 0a 09 0a 09 09 72 65 | 74 20 3d 20 60 6b 69 6c |p.....re|t = `kil|
|00000f00| 6c 61 6c 6c 20 2d 48 55 | 50 20 44 6f 63 6b 60 0a |lall -HU|P Dock`.|
|00000f10| 09 09 69 66 20 24 3f 20 | 21 3d 20 30 0a 09 09 09 |..if $? |!= 0....|
|00000f20| 24 73 74 72 65 72 72 2e | 70 72 69 6e 74 66 28 22 |$strerr.|printf("|
|00000f30| 57 61 72 6e 69 6e 67 21 | 21 21 20 44 6f 63 6b 2e |Warning!|!! Dock.|
|00000f40| 61 70 70 20 72 65 73 65 | 74 20 66 61 69 6c 65 64 |app rese|t failed|
|00000f50| 5c 6e 22 29 0a 09 09 65 | 6e 64 0a 09 09 72 65 74 |\n")...e|nd...ret|
|00000f60| 0a 09 65 6e 64 0a 0a 09 | 64 65 66 20 72 65 6d 6f |..end...|def remo|
|00000f70| 76 65 46 72 6f 6d 44 6f | 63 6b 0a 09 09 70 75 74 |veFromDo|ck...put|
|00000f80| 73 20 22 52 65 6d 6f 76 | 65 20 61 70 70 6c 69 63 |s "Remov|e applic|
|00000f90| 61 74 69 6f 6e 20 20 5c | 22 23 7b 40 61 70 70 50 |ation \|"#{@appP|
|00000fa0| 61 74 68 7d 5c 22 20 66 | 72 6f 6d 20 44 6f 63 6b |ath}\" f|rom Dock|
|00000fb0| 22 0a 09 09 0a 09 09 72 | 65 74 75 72 6e 20 75 6e |"......r|eturn un|
|00000fc0| 6c 65 73 73 20 61 70 70 | 45 6e 74 72 79 20 3d 20 |less app|Entry = |
|00000fd0| 61 70 70 45 78 69 73 74 | 49 6e 44 6f 63 6b 3f 0a |appExist|InDock?.|
|00000fe0| 09 09 0a 09 09 6e 65 77 | 44 6f 63 6b 41 70 70 73 |.....new|DockApps|
|00000ff0| 41 72 72 61 79 20 3d 20 | 4f 53 58 3a 3a 4e 53 4d |Array = |OSX::NSM|
|00001000| 75 74 61 62 6c 65 41 72 | 72 61 79 2e 61 72 72 61 |utableAr|ray.arra|
|00001010| 79 0a 09 09 6e 65 77 44 | 6f 63 6b 41 70 70 73 41 |y...newD|ockAppsA|
|00001020| 72 72 61 79 2e 61 64 64 | 4f 62 6a 65 63 74 73 46 |rray.add|ObjectsF|
|00001030| 72 6f 6d 41 72 72 61 79 | 28 40 64 6f 63 6b 50 72 |romArray|(@dockPr|
|00001040| 65 66 73 44 69 63 74 2e | 76 61 6c 75 65 46 6f 72 |efsDict.|valueFor|
|00001050| 4b 65 79 28 4f 53 58 5f | 44 4f 43 4b 5f 41 50 50 |Key(OSX_|DOCK_APP|
|00001060| 5f 41 52 52 41 59 29 29 | 0a 09 09 0a 09 09 23 20 |_ARRAY))|......# |
|00001070| 41 64 64 20 6e 65 77 20 | 61 70 70 20 65 6e 74 72 |Add new |app entr|
|00001080| 79 20 74 6f 20 74 68 65 | 20 44 6f 63 6b 0a 09 09 |y to the| Dock...|
|00001090| 6e 65 77 44 6f 63 6b 41 | 70 70 73 41 72 72 61 79 |newDockA|ppsArray|
|000010a0| 2e 72 65 6d 6f 76 65 4f | 62 6a 65 63 74 20 61 70 |.removeO|bject ap|
|000010b0| 70 45 6e 74 72 79 0a 09 | 09 0a 09 09 23 20 55 70 |pEntry..|....# Up|
|000010c0| 64 61 74 65 20 44 6f 63 | 6b 20 70 72 65 66 65 72 |date Doc|k prefer|
|000010d0| 65 6e 63 65 73 20 77 69 | 74 68 20 6e 65 77 20 61 |ences wi|th new a|
|000010e0| 72 72 61 79 0a 09 09 40 | 64 6f 63 6b 50 72 65 66 |rray...@|dockPref|
|000010f0| 73 44 69 63 74 2e 73 65 | 74 56 61 6c 75 65 5f 66 |sDict.se|tValue_f|
|00001100| 6f 72 4b 65 79 28 6e 65 | 77 44 6f 63 6b 41 70 70 |orKey(ne|wDockApp|
|00001110| 73 41 72 72 61 79 2c 20 | 4f 53 58 5f 44 4f 43 4b |sArray, |OSX_DOCK|
|00001120| 5f 41 50 50 5f 41 52 52 | 41 59 29 0a 09 09 0a 09 |_APP_ARR|AY).....|
|00001130| 09 23 20 53 61 76 65 20 | 6e 65 77 20 70 72 65 66 |.# Save |new pref|
|00001140| 65 72 65 6e 63 65 73 20 | 64 69 63 74 69 6f 6e 61 |erences |dictiona|
|00001150| 72 79 20 62 61 63 6b 20 | 74 6f 20 66 69 6c 65 0a |ry back |to file.|
|00001160| 09 09 40 64 6f 63 6b 50 | 72 65 66 73 44 69 63 74 |..@dockP|refsDict|
|00001170| 2e 77 72 69 74 65 54 6f | 46 69 6c 65 5f 61 74 6f |.writeTo|File_ato|
|00001180| 6d 69 63 61 6c 6c 79 28 | 40 64 6f 63 6b 50 72 65 |mically(|@dockPre|
|00001190| 66 73 50 61 74 68 2c 20 | 74 72 75 65 29 0a 09 09 |fsPath, |true)...|
|000011a0| 0a 09 09 72 65 73 65 74 | 44 6f 63 6b 41 70 70 0a |...reset|DockApp.|
|000011b0| 09 65 6e 64 0a 0a 65 6e | 64 0a 0a 0a 23 0a 23 20 |.end..en|d...#.# |
|000011c0| 50 65 72 66 6f 72 6d 20 | 6c 69 6b 65 20 70 72 6f |Perform |like pro|
|000011d0| 67 72 61 6d 20 28 73 63 | 72 69 70 74 29 0a 23 20 |gram (sc|ript).# |
|000011e0| 50 61 72 61 6d 20 31 3a | 20 61 63 74 69 6f 6e 20 |Param 1:| action |
|000011f0| 6e 61 6d 65 20 28 61 64 | 64 2c 20 72 65 6d 6f 76 |name (ad|d, remov|
|00001200| 65 29 20 0a 23 20 50 61 | 72 61 6d 20 32 3a 20 70 |e) .# Pa|ram 2: p|
|00001210| 61 74 68 20 74 6f 20 61 | 70 70 6c 69 63 61 74 69 |ath to a|pplicati|
|00001220| 6f 6e 0a 23 0a 69 66 20 | 24 30 20 3d 3d 20 5f 5f |on.#.if |$0 == __|
|00001230| 46 49 4c 45 5f 5f 20 74 | 68 65 6e 0a 23 20 20 72 |FILE__ t|hen.# r|
|00001240| 62 5f 6d 61 69 6e 5f 69 | 6e 69 74 0a 0a 09 62 65 |b_main_i|nit...be|
|00001250| 67 69 6e 0a 09 09 09 09 | 0a 09 09 66 61 69 6c 20 |gin.....|...fail |
|00001260| 22 49 6e 76 61 6c 69 64 | 20 61 63 74 69 6f 6e 22 |"Invalid| action"|
|00001270| 20 75 6e 6c 65 73 73 20 | 41 52 47 56 5b 30 5d 0a | unless |ARGV[0].|
|00001280| 09 09 66 61 69 6c 20 22 | 49 6e 76 61 6c 69 64 20 |..fail "|Invalid |
|00001290| 61 70 70 6c 69 63 61 74 | 69 6f 6e 20 70 61 74 68 |applicat|ion path|
|000012a0| 22 20 75 6e 6c 65 73 73 | 20 41 52 47 56 5b 31 5d |" unless| ARGV[1]|
|000012b0| 0a 0a 09 09 23 20 43 72 | 65 61 74 65 20 6e 65 77 |....# Cr|eate new|
|000012c0| 20 44 6f 63 6b 20 68 65 | 6c 70 65 72 20 63 6c 61 | Dock he|lper cla|
|000012d0| 73 73 0a 09 09 64 6f 63 | 6b 48 65 6c 70 65 72 20 |ss...doc|kHelper |
|000012e0| 3d 20 4e 4d 4f 53 58 44 | 6f 63 6b 48 65 6c 70 65 |= NMOSXD|ockHelpe|
|000012f0| 72 2e 6e 65 77 28 41 52 | 47 56 5b 31 5d 29 0a 09 |r.new(AR|GV[1])..|
|00001300| 0a 09 09 64 6f 63 6b 48 | 65 6c 70 65 72 2e 61 64 |...dockH|elper.ad|
|00001310| 64 54 6f 44 6f 63 6b 20 | 69 66 20 41 52 47 56 5b |dToDock |if ARGV[|
|00001320| 30 5d 20 3d 3d 20 22 61 | 64 64 22 0a 09 09 64 6f |0] == "a|dd"...do|
|00001330| 63 6b 48 65 6c 70 65 72 | 2e 72 65 6d 6f 76 65 46 |ckHelper|.removeF|
|00001340| 72 6f 6d 44 6f 63 6b 20 | 69 66 20 41 52 47 56 5b |romDock |if ARGV[|
|00001350| 30 5d 20 3d 3d 20 22 72 | 65 6d 6f 76 65 22 20 0a |0] == "r|emove" .|
|00001360| 0a 09 72 65 73 63 75 65 | 20 52 75 6e 74 69 6d 65 |..rescue| Runtime|
|00001370| 45 72 72 6f 72 20 3d 3e | 20 65 72 72 0a 09 09 24 |Error =>| err...$|
|00001380| 73 74 64 65 72 72 2e 70 | 72 69 6e 74 20 22 4f 53 |stderr.p|rint "OS|
|00001390| 58 44 6f 63 6b 20 6f 70 | 65 72 61 74 69 6f 6e 20 |XDock op|eration |
|000013a0| 66 61 69 6c 65 64 3a 20 | 22 20 2b 20 65 72 72 20 |failed: |" + err |
|000013b0| 2b 20 22 5c 6e 22 0a 09 | 65 6e 64 0a 0a 65 6e 64 |+ "\n"..|end..end|
|000013c0| 0a 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000013d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000013e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000013f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001400| 00 00 01 00 00 00 01 00 | 00 00 00 00 00 00 00 1e |........|........|
|00001410| 54 68 69 73 20 72 65 73 | 6f 75 72 63 65 20 66 6f |This res|ource fo|
|00001420| 72 6b 20 69 6e 74 65 6e | 74 69 6f 6e 61 6c 6c 79 |rk inten|tionally|
|00001430| 20 6c 65 66 74 20 62 6c | 61 6e 6b 20 20 20 00 00 | left bl|ank ..|
|00001440| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001450| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001460| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001470| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001480| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001490| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000014a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000014b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000014c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000014d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000014e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000014f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001500| 00 00 01 00 00 00 01 00 | 00 00 00 00 00 00 00 1e |........|........|
|00001510| 00 00 00 00 00 00 00 00 | 00 1c 00 1e ff ff 00 00 |........|........|
|00001520| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001530| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001540| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001550| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001560| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001570| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+